package com.h.extensions.constant;

public class Constants {
    // 消费方确认 - 自动确认和手动确认
    public static final String ACK_QUEUE = "ack.queue";
    public static final String ACK_EXCHANGE = "ack.exchange";

    // 持久性 —— RabbitMQ
    public static final String PRES_QUEUE = "pres.queue";
    public static final String PRES_EXCHANGE = "pres.exchange";

    // 发送方确认 —— 生产者
    public static final String CONFIRM_QUEUE = "confirm.queue";
    public static final String CONFIRM_EXCHANGE = "confirm.exchange";

    // 重发机制 - 重发机制的配置 （在 .yml 文件下），只有在 auto 模式下的消费者才能生效对于定义的重试次数等配置
    public static final String RETRY_QUEUE = "retry.queue";
    public static final String RETRY_EXCHANGE = "retry.exchange";

    // ttl —— 过期时间
    // 存在 消息ttl，队列ttl
    public static final String TTL_QUEUE1 = "ttl1.queue"; // 消息的ttl
    public static final String TTL_QUEUE2 = "ttl2.queue"; // 队列的ttl
    public static final String TTL_EXCHANGE = "ttl.exchange";

    // 死信队列
    // 正常的队列和死信队列进行关联的队列和交换机
    public static final String NORMAL_QUEUE = "normal.queue";
    public static final String NORMAL_EXCHANGE = "normal.exchange";

    public static final String DL_QUEUE = "dl.queue";
    public static final String DL_EXCHANGE = "dl.exchange";

    // 延迟队列
    public static final String DELAY_QUEUE = "delay.queue";
    public static final String DELAY_EXCHANGE = "delay.exchange";

    //事务
    public static final String TRANS_QUEUE = "trans.queue";

    //限流
    public static final String QOS_QUEUE = "qos.queue";
    public static final String QOS_EXCHANGE = "qos.exchange";
}
